//
// DepAppRunner
//
// Copyright (C) jextra.net.
//
//  This file is part of the net.jextra.crackdep Library.
//
//  The net.jextra.crackdep Library is free software; you can redistribute it and/or
//  modify it under the terms of the GNU Lesser General Public
//  License as published by the Free Software Foundation; either
//  version 2.1 of the License, or (at your option) any later version.
//
//  The net.jextra.crackdep Library is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
//  Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public
//  License along with the net.jextra.crackdep Library; if not, write to the Free
//  Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
//  02111-1307 USA.
//

package net.jextra.crackdep;

import java.io.*;
import net.jextra.crack.tool.*;

/**
 * Same as JavaRunner except that it sets up the classpath for you from the params.
 */
public class DepAppRunner extends JavaRunner
{
    // ============================================================
    // Fields
    // ============================================================

    private DepAppRunnerParams params;

    // ============================================================
    // Constructors
    // ============================================================

    public DepAppRunner( DepAppRunnerParams params )
        throws Exception
    {
        this.params = params;
        addClasspathFile( params.getEnvDir() );
        addClasspathFile( params.getClassesDir() );
        for ( File dir : params.getSourceDirs() )
        {
            addClasspathFile( dir );
        }
        addClasspathFiles( params.getRuntimeDependencies() );
    }

    // ============================================================
    // Methods
    // ============================================================

    // ----------
    // public
    // ----------

    public DepAppRunnerParams getParams()
    {
        return params;
    }
}
